1
Il problema della storia divergente
AI016Lesson 6
00:00

Un storia divergente si verifica quando il cronologia di un repository si divide in percorsi non lineari. Ciò accade tipicamente quando un ramo funzionalità (come news-hotfix) e il ramo principale evolvono indipendentemente dopo aver condiviso un antenato comune. Questa biforcazione crea una struttura interna complessa degli snapshot.

1. L'attivatore della biforcazione

La divergenza inizia quando uno sviluppatore esegue git commit su un ramo locale mentre il ramo principale riceve anche nuovi snapshot (ad esempio, un aggiornamento a index.html). Ciò crea un vuoto topologico dove il tuo lavoro su about/me.html non si basa più sullo stato più recente del progetto.

Base condivisaPrincipale (index.html)Funzionalità (news-2.html, me.html)Divergenza

2. Il costo della non linearità

Mentre Git gestisce la divergenza tramite fusioni ricorsive, la cronologia risultante è spesso ingombrata da commit tipo "Fusione ramo...". Ciò rende la cronologia del repository difficile da controllare, poiché la sequenza di git add e git commit azioni su file come news-2.html e about/me.html diventa visivamente intrecciata.

3. Scollamento degli snapshot

Ogni commit crea un snapshot. Quando la cronologia diverge, la struttura interna del tuo ramo funzionalità manca il contesto dei cambiamenti simultanei effettuati altrove, richiedendo una strategia come il rebasing per riallineare la cronologia del progetto.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>